/* 
 * File:   ADD_SUB.h
 * Author: fire
 *
 * Created on November 15, 2009, 2:00 PM
 */
#include "simparameters.h"
#ifndef _ADD_SUB_H
#define	_ADD_SUB_H
typedef struct Adder_result  {
  char overflow;
  char result[FRACTION_WIDTH+5];//the msb will be discarded if ovf is 0
  char *result_ptr;
} ADDERRESULT, *ADDERRESULT_PTR;
extern char * Rshift(char Mx[], int size, int distance);
extern char * Lshift(char Mx[], int size, int distance);
extern char * TwosComplementADDER(char Mx[], char My[], char carry_in, int size);
extern char * ExponentUpdate(char ex[], int lz);
#ifdef	__cplusplus
extern "C" {
#endif




#ifdef	__cplusplus
}
#endif

#endif	/* _ADD_SUB_H */

